﻿using System;
using System.Drawing;
using System.Web.UI.WebControls;
using DLTN.Data;
using DLTN.Entities;

public partial class Tim_Kiem_May_Bay : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            PageBeakGrid.CurrentIndex = 1;
            HienThi(PageBeakGrid.CurrentIndex);
        }
    }

    public void HienThi(int PageNo)
    {
        string prNoiDi = Request.QueryString["NoiDi"];
        string prNoiDen = Request.QueryString["NoiDen"];
        string prHangMayBay = Request.QueryString["HangMayBay"];
        string prGia;
        prGia = Request.QueryString["Gia"];
        int TotalRows = 0;
        string whereClause = "1 = 1 And TrangThai=1 ";
        whereClause += " Or IdDiemDi = " + prNoiDi + " Or IdDiemDen = " + prNoiDen + " Or IdHangMayBay = " +
                       prHangMayBay + " Or Gia <= " + prGia;

        TList<VeMayBay> tlistVMB = DataRepository.VeMayBayProvider.GetPaged(whereClause, "IdHangMayBay, IdDiemDi, IdDiemDen DESC", PageNo - 1, PageBeakGrid.PageSize, out TotalRows);

        if (tlistVMB.Count > 0)
        {
            GrdVMB.DataSource = tlistVMB;
            GrdVMB.DataBind();
            GrdVMB.Visible = true;
            ltrMessage.Visible = false;
            // Thay đổi màu chẵn/lẻ của Grid
            for (int i = 0; i < GrdVMB.Rows.Count; i++)
            {
                if (i % 2 == 0) GrdVMB.Rows[i].BackColor = Color.Pink;
            }

            // Hiển thị phân trang
            PageBeakGrid.ItemCount = TotalRows;
            if (TotalRows <= PageBeakGrid.PageSize) PageBeakGrid.Visible = false;
            else PageBeakGrid.Visible = true;
        }
        else
        {
            ltrMessage.Text = "Thông tin đang cập nhật";
            ltrMessage.Visible = true;
            GrdVMB.Visible = false;
        }
    }

    // Xử lý chuyển phân trang
    protected void PageBeakGrid_Command(object sender, CommandEventArgs e)
    {
        int currnetPageIndex = Convert.ToInt32(e.CommandArgument);
        PageBeakGrid.CurrentIndex = currnetPageIndex;
        HienThi(currnetPageIndex);
    }

    // Lấy tên nơi đi
    public string GetDiemDi(object Id)
    {
        int s = Convert.ToInt32(Id.ToString());
        NoiDi ent_NoiDi = DataRepository.NoiDiProvider.GetById(s);
        return ent_NoiDi.TenNoiDi;
    }

    // Lấy tên nơi đến 
    public string GetDiemDen(object Id)
    {
        int s = Convert.ToInt32(Id.ToString());
        NoiDen ent_NoiDen = DataRepository.NoiDenProvider.GetById(s);
        return ent_NoiDen.TenNoiDen;
    }

    // Lấy tên hãng máy bay
    public string GetHangMayBay(object Id)
    {
        int s = Convert.ToInt32(Id.ToString());
        HangMayBay ent_HMB = DataRepository.HangMayBayProvider.GetById((s));
        return ent_HMB.TenHangMayBay;
    }
}